Während Formulare Daten lesen und ausgeben, sind Bericht (engl. report) nur Ausgabemedien. Ausgegeben wird meist ein Abfrageergebnis, das auf dem Bildschirm oder Drucker in der gewünschten Reihenfolge und Formatierung erscheint. Sowohl Formulare als auch Berichte beziehen ihre Daten aus einer Basistabelle, einer Abfrage oder einem Unterprogramm. Im Gegensatz zu einem Formular kann der Berichtsadressat aber kaum intervenieren. Eine anschauliche Einführung in den Aufbau, die Funktion und die Datenherkunft von Berichten erhalten Sie im Access-Hilfethema Berichte.
Berichte
und Formulare
können Daten filtern und sortieren.
Wer Datensätze in einem Bericht
gruppiert ausgeben
möchte, geht wie folgt vor:
a) Gruppenkopf (header) und/oder Gruppenfuss (footer)
b) Gruppenbruch (Sollen Gruppen auf verschiedene Seiten gespalten werden?).
Im Formular 3 Antworten eingeben gelangen Sie nach einem Klick auf die Schaltfläche Zuordnungsergebnisse zum Bericht RptQryZOErgebnisse mit den folgenden Bereichen (engl. sections):
Der Bericht enthält Bezeichnungsfelder (dunkelblaue Bezeichner) und Textfelder (schwarz). Textfelder
werden durch das Präfix Txf
eingeleitet:
Das Textfeld konkatenierteLösungen enthält die Musterlösung einer Zuordnungsaufgabe. Sie finden es im Kopfbereich der Gruppe Fragenschlüssel (siehe oben). Sein Wert stammt aus der temporären Tabelle TmpKonkatZOLösungen. Sie wird vor dem Öffnen des Berichts erstellt, weil es nicht möglich ist, vor die Berichtspalte Teilnehmerlösung eine Spalte Musterlösung so zu stellen, dass jedem Teilnehmer-Zuordnungspaar ein Muster-Zuordnungspaar entspricht. Die Ereignisprozedur Report_Open konkateniert deshalb vor dem Öffnen des Berichts alle Musterlösungen eines Fragenschlüssels zu einer Zeile, die im Kopfbereich der Gruppe Fragenschlüssel erscheint:
Wenn Sie den Bericht mit »Ansicht/Entwurfsansicht
anzeigen und mit »Alt/Eingabetaste
das Eigenschaftenfenster öffnen, können Sie die Ereignisprozedur
Report_Open
inspizieren. Ihr Code ist allerdings so umfangreich, dass wir sie hier nur entwurfssprachlich
zusammenfassen:
Ereignisprozedur Report_Open Erstelle eine leere temporäre Tabelle TmpKonkatZOLösungen mit den Spalten ... Fragenschlüssel konkatLösungen Erstelle die Abfrage QryMusterlösungen mit den Spalten ... Fragenschlüssel Buchstabenpräfix Zahlenpräfix Bis QryMusterlösungen fertig gelesen letzterFragenschlüssel = Fragenschlüssel konkatLösungen = konkatLösungen & Buchstabenpräfix & Zahlenpräfix Lies den nächsten Satz von QryMusterlösungen Solange QryMusterlösungen nicht fertig gelesen und letzterFragenschlüssel = Fragenschlüssel konkatLösungen = " " & Buchstabenpräfix & Zahlenpräfix Füge die Zeile (Fragenschlüssel,konkatLösungen) an die Tabelle TmpKonkatZOLösungen